Radio frequency identification method and system of distributing products

ABSTRACT

A method and system for vending products from a defined area, such as a micro-warehouse with a door. The method includes fitting each product with a radio frequency identification tag, positioning the plurality of products in a micro-warehouse, sensing opening and closing of the micro-warehouse door, scanning the plurality of products in the micro-warehouse upon sensing closing of the door to determine the number and type of products in the micro-warehouse, generating a message based on the number and type of products in the micro-warehouse, transmitting the message to a remote processor or server, and maintaining an inventory in the remote processor based on the message.  
     The system is designed to be accessed by authorized individuals possessing some type of code or identifying mechanism. The micro-warehouses may be cabinets, refrigerators, secured rooms, or similar storage units or areas. Each micro-warehouse has an output device such as a light or display, a door, an antenna mounted on or in the micro-warehouse, and a controller coupled to the antenna. Using a signal from the antenna or other input device, the controller is operable to check the identity of the individual accessing the micro-warehouse. If the user is authorized, the controller opens the door and the user may remove products from the micro-warehouse. Once the user closes the door, the controller performs a scan of the products remaining in the micro-warehouse to determine the identity of each of the products. The controller then generates a message including the identity of each of the products, and sends that message to the server.

BACKGROUND OF THE INVENTION

[0001] The present invention relates to methods and systems fordistributing products to customers. More particularly, the inventionrelates to a method and system that tracks the use of products usingradio frequency tags and provides information to a central computer toenable automated restocking, inventory, tracking, or reordering of theproducts.

[0002] The Internet, EDI, and similar systems permit businesses andordinary consumers to order goods. However, the delivery of those goodsstill depends on distribution systems that are based in the physicalworld. The science-fiction ideal of being able to instantly have goodspop out of a computer or to receive them through a “transporter” or someother device has not yet been realized, and probably will not for many,many years. Presently, consumers may have goods shipped via variousovernight delivery services. One drawback of present delivery technologyis that it is primarily paper-based. Orders are made on paper anddelivery involves shipping invoices, receipts, and other paperwork,which is costly to handle and annoying to many people. Even withtechnology that is not paper-based, ordering and receiving goodsrequires a number of steps. For example, for a typical Internet order, aconsumer must view the applicable Web site, select the item, such as byclicking on an icon, fill out an electronic order form, and wait for theproduct to be delivered. Regardless of whether paper-based or electronictechnology is used, present delivery methods usually require that thecustomer or his or her agent be present at a physical location to takethe delivery of the ordered product. Further, delivery is usually madeto a loading dock or similar location. This requires some internaldistribution system to deliver the goods from the initial delivery pointto the location where it is actually needed.

SUMMARY OF THE INVENTION

[0003] Accordingly, there is a need to improve the distribution of goodsso that consumers experience distribution of goods at a locationproximate to where the consumer will use the goods without requiringpaper or computer ordering. There is also a need for a distributionsystem that requires less user intervention and data input than existingsystems.

[0004] The invention provides a system and method where a user need onlyfind the product of interest and take that product. As compared to mostInternet-based systems and methods, the invention is “clickless.” Inother words, the invention requires little or no manual input fromusers. The invention provides a system for distributing a plurality ofproducts. Each of the products has a radio frequency (“RF”) tag. As usedherein, radio frequency means electromagnetic radiation that liesbetween audible and infrared radiation. Each tag is encoded with aunique identifying code. In one embodiment, the system is designed to beaccessed by individuals possessing a radio frequency user badge with anidentifying code. Alternatively, the system could rely on magnetic swipecards, password systems, biometric devices (such as a retinal scanner,thumbprint reader, voice identification unit, or the like), or othersystems for limiting access to authorized individuals.

[0005] The system includes one or more cabinets, refrigerators, similarstorage units, (generically referred to as “micro-warehouses”) or evensecured rooms that are stocked with the RF tagged products and accessedby individuals through one of the mechanisms described above. In oneembodiment, each micro-warehouse has a door that may be equipped with alock (such as an electric actuated lock), an antenna or antenna arraymounted on or in the micro-warehouse, a client controller coupled to thelock and the antenna, and an output device such as a light or display.Using a signal from the antenna or other input device, the clientcontroller checks the identity of the individual accessing themicro-warehouse, such as by reading the code of the user badge. Theoutput device is then activated to indicate whether the individualattempting to access the micro-warehouse is authorized to access theunit. If the code or other identifier matches stored records ofauthorized users, the client controller opens the door and the user mayremove desired products from the micro-warehouse. Once the user closesthe door, the client controller performs a scan of the productsremaining in the micro-warehouse to determine the identity of each ofthe products. The client controller then generates a message includingthe identity of each of the products or other message related to theproducts taken, and sends that message to a server. The server tracksproduct and user information automatically, that is, without relying onuser input. In particular, the server tracks product inventory, customerusage, restocking, usage frequency, faults, micro-warehouse temperature,timing, and other information. The server also generates orders forproducts taken from the micro-warehouse by the user. The server can beprogrammed to automatically place those orders, with the result that thesystem is “clickless.” That is, the system eliminates the need for thecustomer to re-order consumed items.

[0006] In addition to the features noted above, the system may alsolocate the position or presence of one or more specific products in amicro-warehouse by conducting a scan of the micro-warehouse. In thisway, the system can sense a disordered state of the product in themicro-warehouse. For example, the system can detect whether all of thecomponents in a kit product are in the relevant kit box. Further, aproduct scan can detect whether any product in the micro-warehouse hasbeen recalled, expired, or is otherwise not suitable for use. Upondetecting such a product, the system refuses access to themicro-warehouse until an administrator removes the product or otherwiseaddresses the situation.

[0007] The invention also provides a method of distributing a pluralityof products from a micro-warehouse. The method may include fitting eachproduct with a radio frequency identification tag, positioning theplurality of products in the micro-warehouse, sensing opening andclosing of the micro-warehouse door, scanning the plurality of productsin the micro-warehouse upon sensing closing of the door to determine thenumber and type of products in the micro-warehouse, generating a messagebased on the number and type of products in the micro-warehouse,transmitting the message to a remote processor or server, andmaintaining an inventory in the server based on the message.

[0008] The method and system permit up-to-date information to beprovided to the server which, in turn, can be connected to ordering andmanufacturing information systems to ensure prompt re-stocking of themicro-warehouses. The system can be designed with multiple levels ofaccess. For example, multiple micro-warehouses may be located within asecure room and a user badge may be encoded to permit a user to accessthe room only, a limited number of warehouses in the room, or all thewarehouses in the room.

[0009] As is apparent from the above, it is an advantage of the presentinvention to provide a method and system of identifying and distributingproducts. Other features and advantages of the present invention willbecome apparent by consideration of the detailed description andaccompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0010] In the drawings:

[0011]FIG. 1 is a schematic diagram of a system embodying the invention.

[0012]FIG. 2 is schematic diagram of the server and client controller ofthe system shown in FIG. 1 illustrating the architecture of theenterprise application of the server and the architecture of thesoftware on the client controller.

[0013]FIG. 3 is an illustration of the flow of products and informationin a distribution system of the invention.

[0014]FIG. 4a is a flowchart of the software's boot up routine of theinvention.

[0015]FIG. 4b is a flowchart of the software of the invention.

DETAILED DESCRIPTION

[0016] Before the invention is explained in detail, it is to beunderstood that the invention is not limited in its application to thedetails of the construction and the arrangements of the components setforth in the following description or illustrated in the drawings. Theinvention is capable of other embodiments and of being practiced orbeing carried out in various ways. Also, it is to be understood that thephraseology and terminology used herein is for the purpose ofdescription and should not be regarded as limiting.

[0017]FIG. 1 illustrates a system 10 embodying the invention. The system10 includes two servers (maintenance and commerce) 11 and 12 that createand maintain user lists, perform inventory, account, ordering functions,and monitoring functions, such as microwarehouse status, monitoringtemperature and other faults. Servers 11 and 12 may communicate with aclient (discussed below) using standard protocols such as TCP/IP, orother protocols over a network 13. The network 13 may be the Internet, atelephone network, a wireless network, power line carrier (“PLC”)network, or combinations thereof. Servers 11 and 12 include standardhardware and operating system software (not shown). Running on top ofthe hardware and operating system software is a micro-warehouse (“MW”)enterprise application 14. The MW enterprise application 14 accesses aprofile database 15 that includes a registration module 16, an orderhistory module 18, an account set-up module 20, and a stock requestmodule 22. Each of the modules 16-22 is maintained for each clientcoupled to the server 12. The modules may be configured with web contentdesigned to be accessible using protocols for the World Wide Web sectionof the Internet.

[0018] As best seen by reference to FIG. 2, the MW enterpriseapplication 14 performs numerous functions. Broadly, the MW enterpriseapplication 14 controls the arrangement of the RFID user badges(discussed below), manages communication sessions with clients connectedto the server 12, maintains an inventory of products for each clientconnected to the servers 11 and 12, checks inventory of the MW and otherlocal MWs before ordering a product, manages security of communications,provides system administration functionality, and monitors and maintainsthe health of clients connected to the servers.

[0019] The registration module 16 provides part of the inventoryfunctionality of the server 12 by providing access to informationregarding the location of clients connected to the server 12. In theinvention, the clients take the form of MWs. The registration modulealso provides access to information regarding sales persons assigned toa particular MW and identification numbers for each MW. The registrationmodule 16 may access a MW database 24.

[0020] The order history module 18 provides a history of orders for eachMW and product preferences for each MW. The account set-up moduleprovides administrative screens for payment authorization, userinformation, and similar information. The stock request module 22controls inventory replenishment based on usage and on specific customerrequests and similar information.

[0021] The server 12 also accesses a commerce engine 30 that usesinformation received from the client to generate orders that aredelivered to the manufacturing infrastructure (not shown) that producesproducts to be distributed using the system and method of the invention.The information may be used by marketing, customer relation management(“CRM”), billing, and other systems and functions. For example, theinvention may be used in the distribution of life science researchproducts such as enzymes, assays, cloning vectors, component cells, andthe like. (Of course, a wide variety of non-biological products could bedistributed using the invention.) The information provided by the server12 is used in the manufacturing infrastructure to ensure properproduction of products according to the demand for such products. Asnoted above, the server 12 may be coupled to a plurality of clients. Anexemplary client in the form of a MW 35 is shown in FIGS. 1 and 2. Whileonly one client is shown, the number of clients connected to the server12 is limited only by the server's internal capacity and the capacity ofthe network 13.

[0022] The MW 35 may take the form of a refrigerated cabinet, a freezer,or other storage container. A secured storeroom, similar location, orother defined area could also be outfitted with a client controller andother components, as described herein, and be used to store products. Asshown, the MW 35 includes a door 37, an electric actuated lock 39 and/ora proximity sensor 40, and an output device that may take the form ofaudio device or light 41. Other output devices such as a voice synthesisdevice, a display screen, and the like may also be used. The MW 35 isconfigured with an antenna array 43. The antenna array 43 is coupled toa client controller 45. In one embodiment, the invention may include anantenna with two vertically polarized array antennas. The antenna 43 isan RF receive and transmit device which communicates with a transponderdevice or tag (discussed in greater detail below). In one embodiment,the tag is a passive tag and powered by energy from the antenna.

[0023] The MW 35 may include a specialized card reader 47 in the form ofa magnetic card swipe device, an antenna, a fingerprint reader, orsimilar device. The specialized card reader 47 is coupled to the clientcontroller 45 via a communication link 49. The MW 35 may also include aninternal and ambient temperature sensor 55. If included, the temperaturesensor 55 is preferably positioned such that it can sense thetemperature of the interior of the MW 35. The temperature sensor 55 iscoupled to the client controller 45 to provide temperature informationto the client controller. Additional information may be provided to theclient controller through optional input devices. The location of the MW35 may be monitored by a global positioning system (GPS) device (notshown) plus inertial frame recognition for fine measurement and forinterpolation between GPS satellite acquisitions. The voltage,frequency, and other characteristics of electrical supply lines may bemonitored and provided to the client controller 45 by a power linemonitoring device (also not shown). Additional input devices, such ascameras, microphones, sensors, etc., could be coupled to the clientcontroller to monitor environmental and other conditions.

[0024] The client controller 45 includes software to carry out severalfunctions. The software included on the client controller 45 may bebetter understood by reference to FIG. 2. As shown, the clientcontroller 45 includes an operating system 60. The operating system 60is dependent on the type of processor used in the client controller.Preferably, the client controller 45 is an X86 single chip computercontroller with a compatible operating system. If desired, the clientcontroller 45 may be a consumer grade device such as a Palm Pilotpersonal digital assistant or Packet PC device, and modified accordingto the teachings herein. Depending on the hardware used, the clientcontroller 45 may be configured with a graphical user interface (“GUI”)to facilitate interaction between the system 10 and its users.

[0025] The client controller 45 also includes an I/O interface 62, whichmay take the form of an analogue-digital, digital-analogue converter,digital input/output (ADC, DAC, and DIO) interface. The interface 62handles input from the electric actuated lock 39, input from thetemperature sensor 55, output to the electric actuated lock 39, andinput from optional monitoring devices such as the GPS and power linemonitoring devices.

[0026] In addition to the interface 62, the client controller 45 mayhave two other modules: an RFID user sensing subsystem 64 and a radiofrequency data collector (“RFDC”) inventory interface 66. The RFID usersensing subsystem 64 handles input and output to and from thespecialized card reader 47. The RFDC inventory interface 66 handlesinput and output from the antenna 43 and handles links or sessionsbetween the MW 35 and severs 11 and 12.

[0027] The client controller 45 includes software (not shown) which mayincorporate the RFDC inventory interface 66 that reads the RFIDsignatures from tagged products (discussed below) placed inside the MW35. The software may be implemented according to algorithms disclosed inInternational Publication No. W099/45495 and International PublicationNo. WO99/45495, the disclosures of which are hereby incorporated byreference herein. The referenced publications teach identificationsystems that can identify a plurality of RFID tagged items using aninterrogator. The interrogator sends signals from antennas andcooperates with passive, transponder RFID tags in such a way as toeliminate or reduce interference problems that are typically associatedwith reading RF signals from multiple devices. The system 10 could alsobe implemented with active tags, although presently available activetags need to be improved so as to perform in the temperatures that thesystem is expected to operate within and at roughly the same cost andpower consumption.

[0028] Before the system 10 may be implemented, one or more RFID accessbadges 75 must be generated. Preferably, the RFID badges 75, as well asthe other RFID tags (discussed below) are passive transponder tags suchas the tags disclosed in the above-referenced internationalapplications. Preferably, the RFID badges 75 are encoded withinformation from the account set-up module 20 based on digitalsignatures. In addition, it is preferred that the digital signaturesencoded on the RFID badges 75 used by restocking services provideone-time access to a specific MW, and thereafter expire. The RFID accessbadges may be fixed on a carton of products 80. Alternatively, they maybe delivered separately to the facility where the MW of interest islocated.

[0029] The carton of products 80 includes a plurality of individualproducts 90 each with an identification tag 95. Each identification tag95 may be the same as an RFID badge 75, except that the digitalsignature on tag 95 will generally not expire. In one form of theinvention, each tag 95 has a 16-bit identification code and a 72-bititem identification code. The 16-bit identification tag may beprogrammed with information such as the manufacturer of the product. The72-bit item identification code is used to provide descriptiveinformation regarding the product such as serial number, product type,date, lot number, and similar information.

[0030] Once all the products 90 have been fitted with unique RFID tags95, the products may be shipped in the carton 80 to a designated MW suchas the MW 35. As shown in FIG. 3, the carton 80 is packed according to afulfillment request that is based on either an initial order from acustomer (not shown) or MW specific business rules followed by theserver 12. The carton 80 may be fitted with RFID access badge 75 or theRFID access badge 75 may be shipped separately to the location of the MWof interest. If fitted with an RFID access badge 75, the carton 80 maybe shipped by a delivery service contracted to deliver the package tothe MW 35. Once the carton is delivered, the recipient or user may usethe RFID access badge 75 to open the door 37 of the MW 35 by passingRFID access badge 75 in front of the reader 47. Client controller 45reads the digital signature of the RFID access badge 75 and confirmsreading of the code by actuating a user feedback device such as a voicesynthesis module or the light 41. Since, the server 12 provides alocally based user list to the client controller 45, the clientcontroller 45 oversees authentication of the digital code read from theRFID access badge 75. Client controller 45 checks the authenticity ofthe read code by matching the code to the user list. Client controller45 may then optionally read the temperature sensors 55 and transmittemperature information to the server 11. Preferably, the temperaturesensor is also read on a periodic basis, with the temperatureinformation being transmitted to the server each time the temperature isread. Client controller 45 can also be programmed to transmittemperature data if the temperature falls beneath or above apredetermined range. In many instances, it will be important to ensurethat the temperature of the MW is within an appropriate range to storethe products 90. If the temperature of the MW 35 is within anappropriate range, and the user is authenticated, the client controller45 then actuates the lock 39 to open the door 37 (of course, the MW neednot be equipped with the lock 39). If the temperature of the MW 35 isnot within an appropriate range, then access to the MW may be preventedby maintaining the lock 39 in a closed state. This would allow arefrigerated unit associated with the MW to cool the interior space ofthe MW to a desired temperature before ambient air was allowed into theMW by opening of the door. This also provides for product integrityduring power failure.

[0031] Once the door 37 opens (which may be sensed by the proximitysensor 40), a communication session between the MW 35 and servers 12,which may be segmented based on appropriate events to optimize userresponse and network usage, begins. Having full access to the MW 35, theemployee of a carrier or logistic service who delivered the carton 80now proceeds to place the individual items 90 into the MW 35. Once thecarton of products 80 is empty, the delivery employee then closes thedoor 37, and removes the carton, if necessary. The proximity sensor 40senses the closing of the door 37. The client controller 45 senses thestatus of the sensor. Preferably, the lock 39 (if used) resetsautomatically after being unlocked for a predetermined time, for examplefive (5) seconds. The user has that predetermined time to open the door.The RFDC inventory interface 66 is disabled once the door 37 opens. Whenthe door 37 closes, the RFDC inventory interface 66 is enabled andinitiates a scan of the products placed within the MW 35. Uponcompleting the scan, the client controller 45 sends achange-in-inventory message 100 to the commerce server 12. To ensureintegrity of the inventory change billed to the customer, the clientcontroller 45 employs an integrity algorithm when the RFDC inventoryinterface 66 scans the MW 35. The algorithm is based on statisticalinformation, historical information, and other factors including RFalgorithms (frequency-hopping, etc.) and delay data.

[0032] The MW 35 may be accessed by a customer at the MW location usinga separate RFID badge 75 shipped directly to that customer.Alternatively, and as noted above, the reader 47 may be configured as amagnetic card swipe device, barcode, a fingerprint reader, or somesimilar device that controls access to the MW 35. Regardless of itsexact configuration, the reader 47 reads the input from the customer andacknowledges reading of that input by lighting the light 41. The clientcontroller 45 then sends an input signal to the server 12. The server 12then conducts an authenticity review of the input. If an authorizedinput is received, the server 12 sends an okay message to the MW 35. Theclient controller 45 may have the capability to authenticate the reviewas well. Once authentication takes place, the client controller 45 thenopens the door 37 allowing the customer access to the interior of the MW35. The customer then removes one or more products 90 from the interiorof the MW and then closes the door 37. Once the door is closed, clientcontroller 45 scans the remaining products in the MW 35 and sends amessage containing the missing products to the server 12. Identifyingwhich products have been taken, the server 12 compares the previousinventory prior to opening, to the inventory of the missing items. Fromthe comparison, the server 12 determines the missing items in the MW 35.The inventory information is then communicated to the commerce engine30, which stores the information for future use for both marketing andinventory functions. Receipts for the used products can then be emailedor printed and shipped via regular mail to the customer at the MWlocation. Invoicing can also occur using electronic and standardmechanisms.

[0033] The inventory message can be used for other purposes as well. Forexample, the inventory message includes information regarding individualproducts. Therefore, the amount of time a particular product spends inany MW may be recorded by the server, as well as the product'stemperature history. If this time is recorded, it is also possible tocompare the amount of time any particular product spends in a MW to ashelf life for that product. Temperature history can also be stored andcompared to other data. If the shelf life is passed, then an expirationmessage, such as a pick list, may be generated and sent to the MW or ane-mail address of a user of the system to inform users of products thatshould be removed from the MW and not used. In addition, the inventorymessage may be used to determine the type of products in the MW 35. Ifany of the products present within the MW 35 are subject to a recall,the MW 35 may be placed in a “lock down” condition, whereby access tothe MW is denied until an administrator or other authorized individualremoves the recalled product or otherwise addresses the situation.

[0034]FIG. 4a and 4 b are flow charts of the software used in theinvention. Once the client controller 45 is turned on in FIG. 4a at step138, it executes a standard boot up routine at step 140. Part of thestandard boot up process enables the software to automatically updateitself. At step 142, a message is sent to the maintenance server 11 toquery the current version of the controller software. If the version onthe server 11 is the same as the version on the client controller 45,the client controller 45 establishes a wait state as shown in step 152.If the version on the server 11 is newer than the version on the clientcontroller 45, then the newer version is downloaded over the Internet,as shown at step 144. The newer version is loaded into the alternativepocket or partition and written to flash memory, as shown at step 146.Then the software is booted, as shown at step 148. A garbage collectionroutine clears the old version. A message packet accompanies each bootto the maintenance server, including version status and operatingstatus. Each boot then requests a reload of the list of authorized usersfrom the server 11 at step 150. The list is then reloaded at step 151.As shown in FIG. 4b at step 152, the client controller 45 thenestablishes the wait state of the system by initializing variousvariables or objects such as a USER, MSG 1, MSG 2, CNT1, TEMP 1, TEMP 2,and SOLENOIDS. In addition, the client controller 45 initializesvariables or objects SWITCHES, POWER, and LIGHT. Once initialization iscomplete, the unit is ready for user access. During this wait state, theclient controller 45 performs periodic checks on the status of the MW35. When a customer approaches the MW and presents an RFID badge, theclient controller 45 reads the user RFID badge at step 154 and checksthe validity of the identification code read from the badge at step 158.If the code does not match a valid code, an invalid user message isgenerated at step 162. The message may be displayed on an output device(not shown). If an optional lock is installed on the door of the MW 35,the client controller 45 then opens the solenoids in the lock on the MW35., as shown at step 166, if the code is valid. An internal timer isthen started, as shown at step 170. In one embodiment of the invention,the proximity sensor 40 is used to detect opening of the door 37 and thestatus of the door. Once the door opens, the proximity sensor 40switches its status. At step 174, the client controller 45 checks to seeif the door has been opened by reading the status of the proximitysensor 40. If the proximity sensor 40 has not changed status, the clientcontroller 45 will continue to check for a predetermined amount of time,as shown at step 178. If the predetermined amount of time is exceeded,the solenoids are closed (step 182), which locks the lock 39, a timeouterror message is generated (step 184), and the client controller 45returns to the initial state, as shown at step 186.

[0035] If the door 37 is opened within the predetermined amount of time(currently set through practice at five (5) seconds), a second timer isstarted, as shown at step 190. The client controller 45 then records theinternal temperature of the MW 35 at step 194 and then checks to see ifthe door 37 has been closed at step 200. The client controller 45continues to check for closing of the door for a predetermined amount oftime, as shown at step 204. If the predetermined amount of time expires,a close door message is generated as shown at step 208 and steps 190-204are re-executed.

[0036] Once the door 37 is closed, the client controller 45 closes thesolenoids, as shown at step 212. The client controller 45 then confirmsthat the door 37 is closed at step 216 and performs an inventory scan atstep 220. The data from the inventory scan is then sent to the server12, as shown at step 224. The client controller 45 then returns to theinitial state (step 186).

[0037] In another embodiment, the system utilizes a defined area toenclose the tagged products rather than a cabinet. The defined area usesan access point to serve as its entryway. The products within the areaare fitted with identification tags and specifically positioned in thearea to be recognized by the RFDC inventory interface. Product scansbegin when a sensor senses a user passing through the access point. Theaccess point is controlled by a processor, such as the client controller45, and is able to restrict access to the area and products, ifnecessary.

[0038] As can be seen from the above, the invention provides a methodand system for distributing products. Various features and advantages ofthe invention are set forth in the following claims.

What is claimed is:
 1. A method of distributing a plurality of products from a cabinet having a door, the method comprising: fitting each product with a radio frequency identification tag; positioning the plurality of products in the cabinet; sensing opening and closing of the cabinet door; scanning the plurality of products in the cabinet upon sensing closing of the cabinet door to determine the number and type of products in the cabinet; generating a message based on the number and type of products in the cabinet; transmitting the message to a server; and maintaining an inventory in the server based on the message.
 2. A method as claimed in claim 1, further comprising: reading a code on a user badge; acknowledging having read the user badge; determining the authenticity of the code read from the user badge; and opening the cabinet if the code read from the user badge is authentic.
 3. A method as claimed in claim 2, further comprising closing the cabinet after a predetermined amount of time.
 4. A method as claimed in claim 2, wherein the step of determining authenticity is done at the server.
 5. A method as claimed in claim 1, wherein the inventory is maintained in the micro-warehouse controller.
 6. A method as claimed in claim 2, further comprising actuating an output device if the code read from the user badge is authentic.
 7. A method as claimed in claim 1, further comprising sensing the temperature of the cabinet and transmitting the temperature to the server.
 8. A method as claimed in claim 7, further comprising denying access to the cabinet until the temperature reaches a predetermined level.
 9. A method as claimed in claim 1, further comprising tracking the time each of the plurality of products spends in the cabinet.
 10. A method as claimed in claim 9, further comprising comparing the time each of the plurality of products spends in the cabinet to a shelf life for each of the plurality of products.
 11. A method as claimed in claim 10, further comprising generating a pick list of products for each product that has spent a time in the cabinet that is greater than the shelf life of that product.
 12. A method as claimed in claim 1, further comprising scanning the products in the cabinets and determining whether any of the products have a recall status.
 13. A method as claimed in claim 1, wherein the message contains information regarding the status of individual products.
 14. A method as claimed in claim 13, wherein the status of individual products includes product's type, temperature history, and time spent in the micro-warehouse.
 15. A method as claimed in claim 2, wherein the server uses a self-updating boot up procedure, the procedure comprising: receiving a message containing a most recent software version number; comparing a software version number currently used to the most recent software version number; downloading the most recent software version if versions differ when compared; writing the downloaded software to memory; and booting the downloaded software.
 16. A method as claimed in claim 15, further comprising: requesting an updated user list; and receiving the updated user list.
 17. A method as claimed in claim 16, wherein the inventory change is calculated in the micro-warehouse controller and a message generated containing this change is sent to the server.
 18. A method as claimed in claim 1, wherein the inventory is calculated based on a first message generated from a scanning of the plurality of products made prior to sensing opening of the cabinet door and a second message generated from a scanning of the plurality of products made after sensing closing of the cabinet door.
 19. A system for distributing a plurality of products, each product having a radio frequency tag, the system comprising: a radio frequency user badge having a code; at least one micro-warehouse, the micro-warehouse having an output device, a door with a proximity sensor, an antenna mounted on the micro-warehouse, and a controller coupled to the proximity sensor and the antenna, the controller operable to read the code, to activate the output device after reading the code on the user badge, to scan the plurality of products and determine the identity of each of the products, and to create a message including the identity of each of the products; and a server coupled to the controller to receive the message.
 20. A system as claimed in claim 19, further comprising a temperature sensor mounted in the micro-warehouse and coupled to the controller.
 21. A system as claimed in claim 19, wherein the system includes a plurality of micro-warehouses and the server includes a micro-warehouse database.
 22. A system as claimed in claim 19, wherein the server includes a registration module.
 23. A system as claimed in claim 19, wherein the server includes an order history module.
 24. A system as claimed in claim 19, wherein the server includes an account management module.
 25. A system as claimed in claim 19, wherein the server includes a stock request module.
 26. A system as claimed in claim 19, wherein the controller uses a self-updating boot up procedure, the procedure comprising: receiving a message from the server containing software version number; comparing software version number currently used to the most recent software version number; downloading the most recent software version if versions differ when compared; writing downloaded software to memory; and booting the downloaded software.
 27. A method as claimed in claim 26, further comprising: requesting an updated user list; and receiving updated user list.
 28. A method of ordering a plurality of products from a defined area without requiring manual input to a computer, the method comprising: fitting each product with an identification tag; positioning the plurality of products in the defined area; scanning the plurality of products in the defined area to determine the number and type of products in the defined area; generating a message based on the number and type of products in the defined area; transmitting the message to a server; and maintaining an inventory in the server based on the message.
 29. A method as claimed in claim 28, further comprising: reading a code on a user badge; acknowledging having read the user badge; determining the authenticity of the code read from the user badge; and providing access to the defined area if the code read from the user badge is authentic.
 30. A method as claimed in claim 29, providing access to the defined area includes providing access for a predetermined amount of time.
 31. A method as claimed in claim 29, wherein the step of determining authenticity is done at the server.
 32. A method as claimed in claim 30, further comprising actuating an output device if the code read from the user badge is authentic.
 33. A method as claimed in claim 28, wherein the inventory is calculated based on a first message generated from a first scanning of the plurality of products and a second message generated from a second scanning of the plurality of products. 